package nextel.ruta.mvc;

import com.nextel.ui.ODropDownList;
import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextDocument;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import javax.microedition.lcdui.Graphics;
import nextel.ruta.ControlRuta;
import nextel.usuario.ControlUsuario;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;

/**
 *
 * @author eespinoza
 */
public class MVCRutaBusqueda extends MVCAction {
    
    private OTextField txtCodigo;
    private OSoftKey cmdBuscar, cmdAtras, cmdNoVisita;
    private ODropDownList dropUpList;
    private boolean flagForm; // para que no presione dos veces al momento de buscar
    
    public MVCRutaBusqueda() {
    }
    
    protected void createView() {
        
        cmdBuscar = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR));
        cmdAtras = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_ATRAS));
        cmdNoVisita = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NO_ATENDIDO));
        
        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR_RUTAS), OUILook.PLAIN_SMALL_TITLE);
        
        formulario.addSoftKey(cmdBuscar);
        formulario.addSoftKey(cmdAtras);
        formulario.addSoftKey(cmdNoVisita);
    }
    
    protected void createItems() {
        flagForm = true;
        
        ControlRuta.getInstance().limpiarMemoria();
        
        String items[] = {"1) " + IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NOMBRE), "2) " + IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CODIGO)};
        
        formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_BUSCAR) +":", OUILook.PLAIN_SMALL_TEXT), 0, 1, Graphics.LEFT);
        dropUpList = new ODropDownList(items, OUILook.PLAIN_SMALL_TEXT);
        formulario.add(dropUpList, 1, 1, Graphics.RIGHT);
        
        txtCodigo = new OTextField(25, OUILook.PLAIN_SMALL_TEXT, OTextField.ANY);
        txtCodigo.allow(OTextDocument.ALL_SPECIAL_CHARACTERS);
        
        txtCodigo.allowSpaces(true);
        formulario.add(txtCodigo);
        
        formulario.setFocusInd(1);
        
    }
    
    public void performAction(OSoftKey c) {
        
        if (flagForm) {
            
            flagForm = false;
            if (c == cmdBuscar) {
                
                String campo = txtCodigo.getText().toUpperCase().trim();
                
                if (dropUpList.getSelectedIndex() == 1) {
                    
                    flagForm = true;
                    destroy();
                    ControlRuta.getInstance().buscarPorCodigoRuta(campo);
                    
                } else {
                    
                    flagForm = true;
                    destroy();
                    ControlRuta.getInstance().buscarPorNombreRuta(campo);
                    
                }
                
            } else if (c == cmdNoVisita) {
                flagForm = true;
                destroy();
                ControlRuta.getInstance().buscarNOVisita( );
                
            } else if (c == cmdAtras) {
                flagForm = true;
                destroy();
                ControlRuta.getInstance().setCurrent(ControlUsuario.getInstance().mvcMenu);
            }
        }
    }
}
